package com.zjpavt.client.page.abstractpage;

import com.zjpavt.client.page.intefacepage.ParentPage;
import com.zjpavt.client.page.intefacepage.SonPage;

/**
 * @author zyc
 */
public abstract class AbstractSonPage extends AbstractMultiPage implements SonPage {

    /**
     * 父页面
     */
    private ParentPage parentPage;

    public AbstractSonPage(int pageNum, ParentPage parentPage, long mRefreshPeriod) {
        super(pageNum, mRefreshPeriod);
        this.parentPage = parentPage;

    }

    @Override
    public ParentPage getParentPage() {
        return this.parentPage;
    }

    @Override
    public AbstractBasePage setParentPage(ParentPage parentPage) {
        this.parentPage = parentPage;
        return this;
    }

    @Override
    public void enterSonPage() {
        refreshPage();
    }
    @Override
    public void exitSonPage() {
        close();
//      顺序必须为先退出子页面在刷新 否则上层页面会把刷新事件传
        getParentPage().exitSonPage();
    }

    /**
     * 子页面收到回车键的时候返回上级页面
     * 如果是可编辑页面需要覆盖
     */
    @Override
    public void onKeyEnt() {
        exitSonPage();
    }

    @Override
    public int getPageSize() {
        return 0;
    }
}
